package com.papers.juan.utils;

import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * tree工具类
 */
public class TreeUtils {

    /**
     * 方法功能说明：@1.将参数list 构造成 tree
     * 创建时间：2020年8月25日 下午3:06:53
     */
    public static List<Node> getTree(List<Node> list) {
//        Collections.sort(list);
        Map<Object, List<Node>> son = list.stream().filter(node -> !"0".equals(node.getParentId()))
            .collect(Collectors.groupingBy(node -> node.getParentId()));
        list.forEach(node -> node.setchildren(son.get(node.getid())));
        return list.stream().filter(node -> "0".equals(node.getParentId())).collect(Collectors.toList());
    }

}
